/*********************************************************************************************************************
版权所有 (C), 2021,
设计：山亦青
编码：山亦青
版本：V1.0.0.0
完成日期：2021.4.1
说明:
 触摸屏输入框的头文件。
 触摸屏输入框继承自QLabel，原因是QLineEdit的很多消息在触摸屏是用不到的。
 比如：returnPressed()、textEdited()等，因为触摸屏压根没有键盘。
 对于触摸屏，只需要在输入框被点击时候发出一个消息就可以了。
 综上原因，触摸屏的输入框继承了QLabel。
代码级别：u
*********************************************************************************************************************/

#ifndef LINEEDIT4TOUCHSCREEN_H
#define LINEEDIT4TOUCHSCREEN_H

#include <QLabel>
#include "Base.h"

class LineEdit4TouchScreen : public QLabel
{
    Q_OBJECT

public:
    LineEdit4TouchScreen();

    virtual ~LineEdit4TouchScreen();

    // 是否为密码模式
    // 参数1：isPwd，是否密码
    Void_t setEchoMode(Bool_t isPwd);

    // 设置颜色
    // 参数1：txtColor，文字颜色
    // 参数2：bkgColor，背景颜色
    Void_t setColors(Constant QColor& txtColor, Constant QColor& bkgColor);

    // 重载父类函数
    Void_t setText(Constant QString& txt);

    Constant QString& text();

protected:
    Void_t mouseReleaseEvent(QMouseEvent *event);

signals:
    // 触屏被点击，开始输入时会被发射的信号，没有取名click()是为了防止撞名
    void touched(const LineEdit4TouchScreen* pSender);

private:
    Bool_t m_IsPassword; //是否密码
    QString m_Text; //输入的文本内容
};

#endif // LINEEDIT4TOUCHSCREEN_H
